package com.h3c.ptability.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.h3c.ptability.annotation.FieldCheck;
import com.h3c.ptability.enums.CheckType;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;


/**
 * 主管表：部门对应主管信息，多主管 实体
 *
 * @author h24002
 * @date 2023-05-05
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("pt_management_all")
public class PtManagementAll {

    /**
     * 部门id
     */
    @TableId("dept_id")
    @FieldCheck(type = CheckType.notNull, desc = "部门编码不得为空")
    private Integer deptId;

    /**
     * 部门名称
     */
    @TableField("dept_name")
    private String deptName;

    /**
     * 部门等级
     */
    @TableField("dept_level")
    @FieldCheck(type = CheckType.notNull, desc = "部门等级不得为空")
    private Integer deptLevel;

    /**
     * 部门主管工号
     */
    @TableField("dept_manager_id")
    @FieldCheck(type = CheckType.hasText, desc = "主管工号不得为空")
    private String deptManagerId;

    /**
     * 部门主管名称
     */
    @TableField("dept_manager_name")
    private String deptManagerName;

    /**
     * 正副职：1正0副
     */
    @TableField("is_main_duty")
    private Boolean isMainDuty;

    /**
     * 主兼岗：1正0副
     */
    @TableField("is_main_post")
    private Boolean isMainPost;

    /**
     * 岗位ID
     */
    @TableField("post_id")
    private String postId;

    /**
     * 岗位类型编码
     */
    @TableField("post_type_code")
    @FieldCheck(type = CheckType.hasText, desc = "岗位类型编码不得为空")
    private String postTypeCode;

    /**
     * 岗位类型名称
     */
    @TableField("post_type_name")
    private String postTypeName;

    /**
     * 创建时间
     */
    @TableField("time_stamp")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="Asia/Shanghai")
    private Date timeStamp;
}
